home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / prog_d / klldlph2.zip / KILLDLPH.DPR < prev    next >
Text File  |  1996-01-09  |  6KB  |  208 lines

  1. {****************************************************************
  2. *  KILLDLPH                                                      *
  3. *  ========                                                         *
  4. *  Autor:     Rolf Frei                                             *
  5. *              Dorsstrasse 10                                         *
  6. *              CH - 5736 Burg                                          *
  7. *  EMail-Adressen:  CIS      100603.2154                         *
  8. *                   Interent 100603.2154@compuserve.com          *
  9. *                                                                 *
  10. *  V1.0    - 12.06.95    Erste freigegebene Version                    *
  11. *  V1.1 - 19.08.95  Unterstⁿtzung von Programmparametern zur    *
  12. *                    Uebergabe von Modul-Namen.                    *
  13. *  V1.2 - 11.11.95  Einige zusΣtzliche Module der C/S-Version   *
  14. *                   hinzugefⁿgt. (inkl. Informix-SQL-Links)     *
  15. *  V2.0 - 09.01.96  Dialoge zur Sicherheitsabfrage eingebaut.   *
  16. *                   Ueberprⁿfung ob Delphi lΣuft und wieviel    *
  17. *            User bei IDAPI angemeldet sind.            *
  18. *                                                               *
  19. *  Aenderungen am Programm sind nur erlaubt, wenn diese          *
  20. *  mir gemeldet werden. Danke.                                     *
  21. *                                                                 *
  22. *  Befehlszeile:                                                 *
  23. *        KILLDLPH MODUL1 MODUL2 ...                                 *
  24. *                                                                 *
  25. *    Wird das Programm ohne Argumente gestartet, werden           *
  26. *   die Standart-DLL's der Delphi-Desktopversion ge-             *
  27. *    l÷scht.                                                         *
  28. ****************************************************************}
  29.  
  30. program KillDlph;
  31.  
  32. uses
  33.     WinTypes, WinProcs, SysUtils;
  34.  
  35. var    ModulHandle    : THandle;
  36.     i            : Integer;
  37.     DLL            : Array [0..255] of Char;
  38.     ModulUsage  : integer;
  39.     MesS        : string[80];
  40.     MesAC        : Array[0..79] of Char;
  41.  
  42. const   BoxTitle: Array[0..30] of Char = 'Kill Deplhi DLL''s...';
  43.  
  44. {$R KILLDLPH.RES}
  45.  
  46. begin
  47.  
  48.     ModulHandle := GetModuleHandle('DELPHI');
  49.     if ModulHandle <> 0 then
  50.       if (MessageBox(0,'Delphi lΣuft noch, fortfahren?',BoxTitle,
  51.                      MB_YESNO+MB_ICONHAND+MB_DEFBUTTON2)<>IDYES) then
  52.          Halt(1);
  53.  
  54.     {***  Uebergebene Module l÷schen  ***}
  55.     for i := 1 to ParamCount do
  56.       begin
  57.         repeat
  58.             ModulHandle := GetModuleHandle(StrPCopy(DLL, ParamStr(i)));
  59.             if ModulHandle <> 0 then FreeModule(ModulHandle);
  60.         until ModulHandle = 0;
  61.       end;
  62.  
  63.     {***  Standart-Module der Desktop-Version l÷schen  ***}
  64.  
  65.     repeat
  66.         ModulHandle := GetModuleHandle('COMPLIB');
  67.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  68.     until ModulHandle = 0;
  69.  
  70.     repeat
  71.         ModulHandle := GetModuleHandle('DELPHIED');
  72.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  73.     until ModulHandle = 0;
  74.  
  75.     repeat
  76.         ModulHandle := GetModuleHandle('DELPHIKB');
  77.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  78.     until ModulHandle = 0;
  79.  
  80.     repeat
  81.         ModulHandle := GetModuleHandle('EPINT');
  82.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  83.     until ModulHandle = 0;
  84.  
  85.     repeat
  86.         ModulHandle := GetModuleHandle('EXPTDEMO');
  87.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  88.     until ModulHandle = 0;
  89.  
  90.     repeat
  91.         ModulHandle := GetModuleHandle('PASDBK16');
  92.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  93.     until ModulHandle = 0;
  94.  
  95.     repeat
  96.         ModulHandle := GetModuleHandle('RESINTF');
  97.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  98.     until ModulHandle = 0;
  99.  
  100.     repeat
  101.         ModulHandle := GetModuleHandle('W8LOSS');
  102.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  103.     until ModulHandle = 0;
  104.  
  105.     repeat
  106.         ModulHandle := GetModuleHandle('STDVCS');
  107.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  108.     until ModulHandle = 0;
  109.  
  110.     repeat
  111.         ModulHandle := GetModuleHandle('LDLLSQLW');
  112.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  113.     until ModulHandle = 0;
  114.  
  115.     repeat
  116.         ModulHandle := GetModuleHandle('SQLD_INF');
  117.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  118.     until ModulHandle = 0;
  119.  
  120.     repeat
  121.         ModulHandle := GetModuleHandle('VQBLIB');
  122.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  123.     until ModulHandle = 0;
  124.  
  125.  
  126. {IDAPI-Module extra abfragen}
  127.  
  128.         ModulHandle := GetModuleHandle('IDAPI01');
  129.         ModulUsage := GetModuleUsage(ModulHandle);
  130.         if (ModulUsage > 0) then
  131.         begin
  132.           if (MessageBox(0,StrPCopy(MesAC,'Die IDAPI meldet '+IntToStr(ModulUsage)
  133.                          +' Benutzer, fortfahren?'),BoxTitle,
  134.                          MB_YESNO+MB_ICONHAND)<>IDYES) then
  135.           begin
  136.             MessageBox(0,'Alle Delphi-DLL''s sind gel÷scht, IDAPI lΣuft noch!',
  137.                        BoxTitle,
  138.                        MB_OK+MB_ICONINFORMATION);
  139.             Halt(1);
  140.           end;
  141.         end;
  142.  
  143.     repeat
  144.         ModulHandle := GetModuleHandle('IDAPI01');
  145.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  146.     until ModulHandle = 0;
  147.  
  148.     repeat
  149.         ModulHandle := GetModuleHandle('IDR10007');
  150.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  151.     until ModulHandle = 0;
  152.  
  153.     repeat
  154.         ModulHandle := GetModuleHandle('IDR10009');
  155.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  156.     until ModulHandle = 0;
  157.  
  158.     repeat
  159.         ModulHandle := GetModuleHandle('IDR1000C');
  160.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  161.     until ModulHandle = 0;
  162.  
  163.     repeat
  164.         ModulHandle := GetModuleHandle('ILD01');
  165.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  166.     until ModulHandle = 0;
  167.  
  168.  
  169.     repeat
  170.         ModulHandle := GetModuleHandle('IDAPIQ01');
  171.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  172.     until ModulHandle = 0;
  173.  
  174.     repeat
  175.         ModulHandle := GetModuleHandle('IDBAT01');
  176.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  177.     until ModulHandle = 0;
  178.  
  179.     repeat
  180.         ModulHandle := GetModuleHandle('IDDBAS01');
  181.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  182.     until ModulHandle = 0;
  183.  
  184.     repeat
  185.         ModulHandle := GetModuleHandle('IDPDX01');
  186.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  187.     until ModulHandle = 0;
  188.  
  189.     repeat
  190.         ModulHandle := GetModuleHandle('IDASCI01');
  191.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  192.     until ModulHandle = 0;
  193.  
  194.     repeat
  195.         ModulHandle := GetModuleHandle('IDODBC01');
  196.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  197.     until ModulHandle = 0;
  198.  
  199.     repeat
  200.         ModulHandle := GetModuleHandle('IDQRY01');
  201.         if ModulHandle <> 0 then FreeModule(ModulHandle);
  202.     until ModulHandle = 0;
  203.  
  204.         MessageBox(0,'Alle Delphi- und IDAPI-DLL''s sind gel÷scht!',BoxTitle,
  205.                    MB_OK+MB_ICONINFORMATION);
  206.  
  207. END.
  208.